/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Produccion.Simulacion;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.TreeMap;
import java.util.Vector;

/**Esta clase se encarga de cargar la informacion de las maquinas.
 *
 * @author MI PC
 */
public class MaquinaBeanFunction {   
    /*Carga data de las maquinas desde un archivo csv.*/
    public HashMap<String,MaquinaBeanData> cargarMaquinas(String FileName){
        
        String csvFile = "build/classes/archivos/"+FileName+".csv";
	BufferedReader br = null;
	String line = "";
	String cvsSplitBy = ",";
        HashMap<String,MaquinaBeanData> maquinas=new HashMap<String,MaquinaBeanData>();
	try {
 
		br = new BufferedReader(new FileReader(csvFile));
		while ((line = br.readLine()) != null) {
		        // use comma as separator
			String[] datos = line.split(cvsSplitBy);
                        MaquinaBeanData maquina= new MaquinaBeanData();
                        maquina.setCodigo(datos[0]);
                        maquina.setNombre(datos[1]);
                        maquina.setTipo(datos[2]);
                        maquina.setProduccion(Integer.parseInt(datos[3]));
                        maquina.setCostoMerma(Double.parseDouble(datos[4]));
                        maquinas.put(maquina.getCodigo(),maquina);
		}                
                return maquinas;
                
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		if (br != null) {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
        return null;
	
  }
    /*Carga data de los tipos de  maquinas desde un archivo csv.*/
    public Vector<TipoMaquinaBeanData> cargarTipoMaquina(){
        String csvFile = "build/classes/archivos/tipo.csv";
	BufferedReader br = null;
	String line = "";
	String cvsSplitBy = ",";
        Vector<TipoMaquinaBeanData> tipos=new Vector<TipoMaquinaBeanData>();
	try {
 
		br = new BufferedReader(new FileReader(csvFile));
		while ((line = br.readLine()) != null) {
		        // use comma as separator
			String[] datos = line.split(cvsSplitBy);
                        TipoMaquinaBeanData tipo= new TipoMaquinaBeanData();
                        tipo.setCodigo(datos[0]);
                        tipo.setNombre(datos[1]);
                        tipo.setRendimientoMinimo(Float.valueOf(datos[2]));                        
                        tipos.add(tipo);
		}
                
                return tipos;
                
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		if (br != null) {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
        return null;
    }
    
    /*Carga data de los tipos de  maquinas desde un archivo csv. Guarda el resultado en un hashmap*/
    public TreeMap<String,String> cargarTipoMaquinaH(){
        String csvFile = "build/classes/archivos/tipos.csv";
	BufferedReader br = null;
	String line = "";
	String cvsSplitBy = ",";
       TreeMap<String,String> tipos=new TreeMap<>();
	try {
 
		br = new BufferedReader(new FileReader(csvFile));
		while ((line = br.readLine()) != null) {
		        // use comma as separator
			String[] datos = line.split(cvsSplitBy);
                        tipos.put(datos[0], datos[1]);                        
		}                                
                return tipos;
                
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		if (br != null) {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
        return null;
    }
}        
    

